one class one responsability