declarative style