updated interface name (hopefully for the last time) modified one of
it's methods for clarity and added comments.