some optimization of keyword arguments