hopefully keep full backwards compatibility