Changed names for easier imports
Fixed a naming problem
Refactored into less tightly coupled library