code refactoring, gitignore cleanup