added gitignore and renamed interface
Completely restructured