Basic Phase 1 functionality. Still need to add statistics.