added basic lib functionality in addition to bare bones example that replies to pings