Hi, I work with student with behavior disorders. I work with students 1st grade to 8th grade at different times of the day. I have designed a positive point sheet that the students fill out each day. They each make goals of how many points they want to earn in a day. Then throughout the day when they do positive things such as work hard or help a peer they earn a certian amount of points. At the end of each day we graph these points. On friday whoever has the highest points gets an award for student of the week. The students can also use their points at the end of the week to buy prizes. This has worked wonderfully because it keeps things positive. The students earn points then they do well and never loss them once they have earned them. This helps motivate and reinforce students for doing well.
Another trick it to put more fun subjects such as science at the end of the day. That way they can engage in a hands-on science experiement. This usually helps keep kids on task near the end of the day.
Another tactic is seating arrangement. Sometimes if you change kids around the room with people they may not talk with as much this can help.
Well hope this helps you out. These are things that I work for me, hopefully they can work for you too, if not keep trying until you find something that does work! Sometimes teaching is experimenting until you can find things that work!