add support for save path customization