this should be made _tck-testable_