Improved API interface and naming
Fixed tests
Improved docblocks