more testing & refactoring
update gitignore