added persist method