Major refactoring
Adding .gitignore file and some updates.