new spe read function