New modular structure
Added missing gitignore