improved usability with internal lib