make it goroutine safe
add heap profile, reuse trashed conns if possible