add drop and char interface (not implemented.)