more breaking down of declarative