shape handle constructor