cannot catch acknowledge signal
rewrite impl_write
implemented impl_read