reworking api