pulling jake's work into master

going to try to sreamline things a bit a unite the interfaces