TST: expanded tests
MAINT: some API clean-up
MAINT/TST: moved some functions around, added tests