- locks table: make locked status a field instead of based on existence - rename locks table to queue table - insert tasks into queue table whenever drained for a task