building a knowledge system