added code comments
added new download method. added hook support
fixed exception handling. added to public interface.