first time check-in
code refactor