improved gen_rc