Reordered some code, first upload implementation PART 1