Spike: refactor