optimise by zgq2