Do we need to make this method public? What about thread-safety?