make changes compatible with obj-c