ADMMP forces are wrong, but best implementation I have