fix typo
add private constructor