mvc pattern applied