adhere to the api rewrite