refactor admin using decorator