UPDATE: General improvements
UPDATE: Improved compiler