decoupled raven, made it use repo pattern