added simple utility value calculation, other improvements