use Inheritable and closure-enabled class