add optional filepath parameter to save function