composition rules