client side logging & error handling + server returns ip