half-way done.