basic implementation of philosph