Checking in evening work. Basic version is working. Needs cleaning up and refining!