add offline read