interface behaviour improvements