implemented core read and write methods