Implemented remove, have not tested completely yet; abstracted node replacing into new helper method