refactored to use SkaterState, see #9