we should do exactly what Q does.