implemented basic read operator