working on out of order object instantiation