halfway working; using asynchronous buffer filling for bit toggle events