refactor everything to support concurrent task running