Final commit, numerous changes added