added persistent data manager

error handling