avoiding dependency to  an outer library