streamlined usage by moving population to SolutionObject constructor