added tap support