refactor #1
refactoring and addressing lint build issues