* distributes over +