Refactored frontend components view and model