added files with basic idea of how it should work