Final commit, revised many things