first commit
refactor