semi-colons are now optional, return values now parsed