more abstraction in rc