two pass approach to transform code