fix: listen function should return false on failure.