refactored Deferred creation and usage