made compatible with interface