helpers and decorators