refactored BaseObject functions to more desciptive names2