an exercise in ci