Support listen v1 and v2

I believe this should add support for listen v2.x while maintaining compatability with v1.x