broke up some files
added design docs