c99 object/class interface