still have some bugs to work out.

bugs listed in comments and readme.