listener as opposed to watchr