rewrite

API is simple and easy