refactoring and general checkin