fist init

Replace function with Macro; and works with cplusplus