add loops and complex shape