rearranged some stuff and underscored some stuff
more rearranging
more cleanup
added live tests