The best way is to do it by yourself, do not hire lawyer for your green card application. The reason is very simple that the lawyer is for business and they only care about making money but do not care about your case. They can make a lot of mistakes for the application and all of these can be avoid if you prepare it by yourself. Sometimes they do not send the documents to the USCIS, and organize the documents badly.
I will share some experience for my two friends later.