Added source file and test file
Signed-off-by: Mohamed Thalib <hmthalib@gmail.com>