partially finished impl of begin control read