Lots of changes

and a terrible commit message

Signed-off-by: Steven Hoffman <git@fustrate.com>
Beginning to do some tests

Signed-off-by: Steven Hoffman <git@fustrate.com>