Issue #96 C2 mohammad abdulkhaliq new branch 

Issue #96 
@mnzaki @omar-kassem @muhammedabuali @msameh93 

The old branch ran to some serious merge problems so I checkout out to an old working commit, made some improvements and made this new branch.

pull requset reopened please review.