Start implementing a rewrite with a different API