impl square cap