push/pop modified for RC