reimplemented your listener hk