может разделить на два метода?