some base functions and doc like comments