add abstract phi class