for distributed systems coursework