storage reading from file and dirty management