added a generic fragment class