support return result