OK, don't laugh, this is a REALLY rough draft ... will clean up if have time later