did some refactor
init commit
did some refactor