Desig patter library