refactored question method