multirole mechanism added