before using self