RM implementation