first working version of 2-7 but, needs some cleanup