adding keyPath
queue refactor on progress