source code by nishant, it contains my current work till erase