more WIP. it compiles