Finished first full version

untested