Panda is middleware designed to bring the benefits of active networks to applications not written with active networks in mind. This paper describes the architecture and implementation of Panda, and provides data on the overheads incurred and performance benefits achieved. The paper also discusses some of the key issues of automatically and transparently intercepting data streams and converting them into active streams, including interception mechanisms, automated planning facilities, and allowing user and application control of the middleware.