move to a declarative format