allow array only and updated interface