SMR implementation