Introduce schema compiler