updating libraries, chenged main class name to prevent conflicts, updated interface