extended interface and corresponding changes