add test
refactor
rename function

add examples