most of core up there, lots of code clean up to do