Very cool stuff. These steering behaviors are a lot of fun to play with, as you can build them from the ground up and get some really natural looking behaviors. If you can start by modeling pretty close to how a fish can move in the water, then have each fish steer through that interface while obeying the school, flock, or swarm behavior, it all comes together really nicely.
Good work.