Finished for now

Will add comments later