interface changes
moved object population function out of constructor for efficiency
cant recall