Set final API
Implement fully working prototype