run through the code, think about it and add a lot of FIXMEs