Added support for more types and added progress bar.