also you should familiarize yourself with this rfc