make the saver generic