changed to proper self:: notation