initial files and some working code