add image_size module
better error handling from underlying APIs