ready for testing and bug reports

It works fine...The set function would need some work and the calling
function. There are some problems. Some cases it shows ans cannot be
found when it could. must check special cases again