update get_all to return instances of child classes rather than generic object