Add units of measure, rearrange and cleanup module structure