first complete, reasonable version.
further cleanup and adjustment to height