Solving complex data problems