improve compatibility