fix mis-used pointer in embedded interface that mimic Java's abstract class
add more logs