Compiler modifications and renamed all type classes (all have prefix PCT)