abstract common parts for complement and transcribe