Break out into different classes