writeOffline: print() and split() implemented
Using normal pointers instead of shared_ptr