Syntax changes. Added many functionalities