add some different event handlings