Updated to slightly better protocol, added simple throttling.