Refactored population to work a bit nicer