fixed default port and used JSON::XS