Divide all logic in different classes