refactored the container, waiting for pointer
implemented object pointer