Fixes #4: Refactored to strategies.