do we add ```public``` on interfaces? On ```Pipe.java```, for instance, we don't