complete adding support for all read methods