diff --git a/frontend/src/modules/Gefest/README.md b/frontend/src/modules/Gefest/README.md
index ea6744d..fa0237d 100644
--- a/frontend/src/modules/Gefest/README.md
+++ b/frontend/src/modules/Gefest/README.md
@@ -1,361 +1,100 @@
# Gefest Framework
-Gefest is a lightweight, TypeScript-based framework for building and managing HTML elements programmatically. It provides a class-based approach to create reusable UI components with built-in support for attributes, classes, styles, and event handling.
+Gefest is a lightweight TypeScript framework for building HTML UI components with a class-based API. It makes it easy to create reusable elements, bind events, manage styles and classes, and rerender elements dynamically.
-## Features
+## Overview
-- **Class-based Element Creation**: Define HTML elements as TypeScript classes
-- **Attribute Management**: Easy setting, getting, and removing of HTML attributes with reserved attribute validation
-- **CSS Class Handling**: Add and remove classes dynamically with full control over class lists
-- **Style System**: Extensible styling with custom style classes and inline personal styles
-- **Event Handling**: Multiple event listeners with custom event emission and data passing
-- **Element Registration**: Automatic ID generation and DOM integration with unique identifiers
-- **Primitive Components**: Pre-built HTML element wrappers for common elements
-- **Dynamic Updates**: Re-render elements on the fly with automatic DOM synchronization
-- **HTML Parsing**: Convert HTML strings to Gefest elements with `fromHTML()`
-- **Personal Inline Styling**: Set and manage inline CSS styles directly on elements
-- **Async Event System**: Promise-based event handling with custom event data
+Gefest provides:
+- A base `GefestElement` class for elements with nested content and attributes
+- Automatic `data-gefest-id` registration for DOM element tracking
+- Class and style management via helper methods
+- Event handling with `onClick`, `on`, `once`, and `emit`
+- Expression of UI elements as TypeScript classes instead of raw HTML strings
+- A simple engine that binds click handlers and supports rerendering
-## Installation
-
-Gefest is included as a module in this project. To use it in your TypeScript files:
+## Quick Start
```typescript
-import { GefestEngine, GefestElement } from './engine';
+import { GefestEngine } from './engine';
import { GefestButton } from './primitives/button';
-// ... other imports as needed
+
+async function main() {
+ const button = new GefestButton('Click me');
+ button.addClass('btn');
+ button.onClick = () => {
+ alert('Button clicked');
+ };
+
+ document.body.innerHTML = button.build();
+}
+
+GefestEngine.main(main);
```
## Core Concepts
### GefestElement
-The base abstract class for all Gefest elements. It provides:
-
-- Content management (strings or nested elements)
-- Attribute handling
-- Class management
-- Style application
-- Event binding
-- Automatic re-rendering on updates
+The base class for all Gefest components. It handles:
+- Content rendering from strings or nested `GefestElement` instances
+- HTML attributes and reserved attribute protection
+- CSS class list management
+- Inline personal styles
+- Event registration and emission
+- Unique element registration via `GefestEngine`
+- Automatic rerendering when `update()` is called
### GefestEngine
-Manages the lifecycle of Gefest elements:
-
-- Registers elements with unique IDs
-- Activates event handlers on DOM elements
-- Provides the main entry point for applications
-- Handles re-rendering of updated elements
+The runtime engine that manages registered elements.
+- `register(element)` assigns a unique `data-gefest-id`
+- `activateOnClick()` binds click handlers for registered elements
+- `main(mainFn)` runs your app and activates click bindings
+- `render(gefestId)` rerenders one or all registered elements
### GefestStyle
-Abstract base class for styling systems. Implement custom styles by extending this class.
-
-## Basic Usage
-
-### Creating Elements
-
-```typescript
-import { GefestButton } from './primitives/button';
-
-// Create a simple button
-const button = new GefestButton("Click me!");
-console.log(button.build()); //
-```
-
-### Setting Attributes
-
-```typescript
-const button = new GefestButton("Submit");
-button.setAttribute('type', 'submit');
-button.setAttribute('disabled', 'true');
-```
-
-### Managing Classes
-
-```typescript
-const button = new GefestButton("Button");
-button.addClass('btn');
-button.addClass('btn-primary');
-button.removeClass('btn');
-console.log(button.getClassList()); // ['btn-primary']
-```
-
-### Hiding Elements
-
-```typescript
-const button = new GefestButton("Hidden Button");
-button.isHidden = true; // Sets the 'hidden' attribute on the element
-```
-
-### Event Handling
-
-```typescript
-const button = new GefestButton("Click me!");
-button.onClick = () => {
- console.log('Button clicked!');
- // The framework automatically re-renders after click
-};
-```
-
-### Updating Elements
-
-```typescript
-const button = new GefestButton("Initial");
-button.update(); // Re-renders the element in the DOM
-```
-
-### Running the Application
-
-```typescript
-import { GefestEngine } from './engine';
-
-async function main() {
- // Create and configure your elements here
- const button = new GefestButton("Hello World");
- button.onClick = () => alert('Hello!');
-
- // Insert into DOM
- document.body.innerHTML = button.build();
-}
-
-GefestEngine.main(main);
-```
+A base class for custom styling strategies. Extend `GefestStyle` and implement `applyStyle(html, element)` to transform rendered HTML.
## Primitives
-Gefest includes several pre-built primitive elements:
-
-### GefestButton
-
-Wraps HTML `