Prototype

Factory based API proposal