modified purplelogic