nitpick: please use ```&&``` instead of ```and``` in if conditions, and is used for flow control and have different priority