add download function to storage, update library, update extension requirements