alternative clean api