add shell head function