Generic read and write commands