Shape optimal design using B-splines