add a new knife function plus an eshell change