hopefully fixed precompilation error
almost done, need to fill out bottom sections