No , because small plastic particles get into your water . This is why the expiration date on a plastic bottle normally isn ' t super far away . You should only refill a plastic bottle up to 10 times . Also , bacteria can survive much longer in the small plastic cracks . <| sep |> Had to watch my cousins play it mostly . Got to watch it alot . I guess it added to the mystique . When I finally got to play it for myself I was just drooling to play all the things I saw all those years ago . Beautiful game . <| sep |> I essentially did something like that a few years ago . I also went the macroroute , for the same reasons like you . I was . not extremely successful , but it was a huge learning experience . My takeaways You can basically do it , but it seems impossible to do containersincontainers because macros don ' t resolve recursively . You need overwhelming amounts of selfdiscipline at least for a lazy bastard such as myself g in your naming It is essentially impossible to implement exceptions in C , you ' d have to manipulate the binary or use some kind of convention , which is of course highly errorprone . Also , I don ' t want to rain on your parade , and it seems you ' re doing this just for fun too . but you said that arrays are simple . Well , once you take all possible edgecases into account , fundamental algorithms tend to be everything but that . Especially if you shoot for efficiency on top of functionality and good coding style . If you want to take a peek instead of figuring out everything yourself , here ' s a link guess now ' s the perfect time to put my learnings into the repos ' s README . Anyway , I wish you the best success , and keep us posted ! ! RemindMe 30 days