incorporating Neb smart pointers
replace actor creation with factory alloc call