added anonymous namespace to fix issue with same class name in mulitple classes