some parts use arc