update : ruler