add subproject support