Why do we need this method? I'm getting the feeling that this class is overly complex