Added ObjectiveC implementation