Update demo to support submodules
add a small test