updated to support bs4