initialize package
add simple factory
add basic API
generate unique uuid