added TaskQueue and Delegate