Starting to setup framework for supporting multiple backends