Use C++'s NULL instead of redefining it
Implement splice() function