initial commit after restructuring
stripped more code