refactor-rename.
introduce static factory method.
add an example