advanced compilation