def self