adding validation logic to help not destroy things