Split into two separate modules.