move arc check to .m