You can do this yourself but there are many reputable attorneys that charge much less. James "Ron" Gotcher's firm, Global Immigration Partners, Agoura Hills, CA (https://www.gip-us.com/) charge only about $800 per case (includes dependents). They don't charge extra for any number of e-mail or phone contact.
That is merely one attorney that I know of. I am not recommending that firm and you should call them and do your own research.