added fragment generation