Many changes, polish and documentation. Almost complete project.