questions output consistent types
add missing tests
tidy up