Finally handling candidate creation properly and now supports multiple connections with no problem