ugly stuff for submodule project, not happy with how this looks, will
fix up later