merged with the other branch (except for QString in label)