labels plus refactoring