static instead of self