Algorithms And System Design