Use methods to output stuff to better allow customisation by subclass
move select code so its all together