added swmr methods