done working on this for the night. to be continued