deconstruct methods