Started working on forward checking

Implemented various functions