making as backward compatible as possible