finish #3
#4 not yet finish resize image