added user authentication. significant UI cleanup still needed.