Developing foundations for knowledge management systems