Use a proper CLI library and split providers