implement handshake prototype

so lame how we can't pass user back somehow...