Finish most functionality and tests.