refactored API: added server and client transports, initial LRU implementation