fixed up forward sampling