for lib user convinience