added samplepoint reading interface and implementations