working on event driven UI