Moving from the programmatic paradigm to the declarative paradigm