Merge pull request #1 from g2point0/master

first commit from gan
4th commit from fahad
gans second commit