Refactored Q.getter to be more robust