seperate event from controller