remove hap just use eventemitter