added calling convention into implementations