Massive restructuring and API improvement
Updated readme