support for multiple arm types