One big commit

something is bound to be wrong somewhere, someone let me know!