refactored async style.
changed UI.
now using socket.io correctly.