[add] initial draft of the API
[upd] reworked from base≈≈