Created experimental code which uses smart pointers and a more responsive data flow