v2 - use decorators