impl com read/write