interface optimization passing ut
hide header files
reduce number of types
flag type replaced with status type
version update