replace static with self