updated interface to be more readable