add criticism
add setting
finish share methods
add a lot