added inventionMats function to BPO()