Works well. Needs clean up.