draft: delegate and execute