done with objc-vs-c, rewrite