Added interfaces suggested by @steelec