Fix major performance issues caused by unnecessary save() calls

closes #12