return status
nested functions -> deferred chain