added almost completed smp