Updating interface and adding base functionality