add self4j