modified with style issues
modified with syntax issues