changed syntax and basic structures