programmatic autolayout, snapping to intervals, general understanding indicator, gestures, more concise animation