change 6 public methods to only one __call