cleave should cleave
updated constructors and fixed cleave