First attempt to implement the language features I think it's a success.