This is still a draft. I plan to rework it in the near future. I will be glad to any suggestions.