add delegate method.
remove log.
change api