ViewModel implementati + strati BL/DL