made some policy decisions. refactored lots of stuff.