fix location updating after switching controller
Implement methods for beacon