Refactored project layout.
Updated .gitignore