added objects and filled in basic functionality