Refactor and cleanup
updating gitignore