MOP framework for C