some work on backwards compatibility