use temporary statement collectors instead of variables