fixed typos, added annotations
added annotations
changed validator's and deductor's design, fixed some bugs in deductor