add elegant as a submodule