PART ONE FULLY TESTED
some files under code/ added