Merging qt work back into main branch