ARC converted
added func
mearged to mARC branch