A bit of refactoring, added 'ask' helper