1.3: q constructor