refactor
add dialog and toast
add uri
add menu