A remote procedure call library