return any error from ListenAndServe
rework the core