changed all static:: to self::