refact catjs as the extension of underscore