some syntax mistakes are corrected