for 3PLogic