persistence functionality added