you wrap a nasty algorithm in a clean abstraction