refactor 3, using qspinboxes