return status instead of returning directly