factor setevent
dev fake
handle many events