avoid classcast in Tap assembly, rm clean from compile