Cleaned up play loop