meta-programming API
