added basic populate method in an abstract service