rewrite the return value