Large Rewrite

New save feature, better code, and bug fixes