redo thinking and code to get it