First commit of objective-C version