require_self only once