update mechanics