add different event handlers, add change background option