more thinking and explaination