It was a bad idea to change pointers to a struct and return them because we may want to use the same object under different circumstances. So now I have to implement copying those structs and returning pointers to new structs. Also, the comments have to clarify that structs' method copies the struct and does not remove it.