revamped declarative