for v1.6 some func added