factored out extensions to separate module, and began working on C++ project implementation