added more support and a verbose mode