api: general structure finished