implemented R4,R5