working on separation of declarative & binding environments