started to work on this again. (slowly)