generalize all custom LM, fix auto to use same custom LM logic
update docs