refactoring js object model part 4