Design changes. First iteration.