GTSubmodule

**:warning: NOT READY TO MERGE :warning:**

_Depends on #169._

**To do:**

 - [ ] Add unit tests