move tests to their own module
enhance usability