Finish up and fix #690 finally