Mostly complete. Just needs polishing and testing.