Code refactor and reorganize
Git ignore
Source refactoring, pom update