separate beacon class file