added OpQueue with cleaner algorithm