updates to RUCompatability, abstracted into a few different files