add logger
add APIs