logic is more clear