finalize first working version.