refactor simulate stuff; allow LMM simulation