more improvements on interface