works with api