add helper library functions