fixed weight recursion