implemented read command