q may be used uninitialised