Extensive updates, added validation set support