adding non dependent code
Reorganizing code
adding external dependency