why static::? doesn't make sense.