Re-tasking and remote programming of sensor networks is an essential functionality to make these networks practical and effective. As the availability of more capable sensor nodes increases and new functional implementations continue to be proposed, these large collections of wireless nodes will need the ability to update and upgrade the software packages they are running. In order to do this, the new binary file must be distributed to all nodes in the network. Making a physical connection with each individual node is impractical in large wireless networks. Standard flooding mechanisms are too energy-costly and computationally expensive and they may interfere with the network's current tasks. A reliable method for distributing new code or binary files to every node in a wireless sensor network is needed. We propose a reprogramming/re-tasking framework for sensor networks that is energy effcient, responsive, and reliable, while maintaining a stable network.