Please try to include comments that explain the logic of what you're doing