bug fixed - return object