Dear Statalist users

I am having a problem in my research between 2-step GMM and 3sls. I have a system of 3 equations that are profit, capital and growth. Each of them is a dependent and a regressor when it's not dependent
(Profit=l.Profit+l.captial+l.growth+l.control+eit) (capital=l.captial+l.Profit+l.growth+l.control+eit ) (growth=l.growth+l.captial+l.profit+l.control+eit) .

So what I know is 3SLS assumes that there is a correlation in the error term between the equations. I have done lmcovreg3 and lmhreg3 tests for autocorrelation and heteroscedasticiy and the null hypothesis was rejected. However, when I do the 3SLS regression through cmp command it gives me unrealistic results as one of the dependent has no any significant regressors in its equation and another barely have any significant regressors. I even demeaned (centered) all the variables hoping that might solve the problem but still the results are too bad. I did the three equations using 2-step GMM each equation independently and and gave much better results and the postestimations were great.

So my question is does GMM work between those three equations when the error term between them is correlated as per the lmcovreg3 results?? Plus, do article that use GMM when they have two equations(for example) assume that the error between the equations is not correlated??

Thanks