more flexable api
marker for disable compilation