threw all pieces in; need to organize, finish refactor, add deploy mechanism