updated interface functions