Different ideas by AbdelAzim Altaghloby
_