added reserved keywords let && yield
added 'magic' methods