more modify for compatiable