php plugin generics initial commit