dirty commit
fixed the sync issue
working, just need to add the socket done functionality
timout bit working