Metatables and closures working properly. Added while support.