declarative approach