adds core logic and updates rm