added onLocation