Second iteration - Own changes.