without temporary files