Finished. Needs more polishing.