Personally I think your question in too large and general to be answered in a thread. However, this site, if closely reviewed by someone capable and interested, could provide much of the information you seek. But I'm afraid the research must be your own. Start by searching for the key words and READ.
good luck Fortunato