added saving setting feature