(IMPROVE) Implement semicolons and function scoping