first dirty save implementaion