Major update, still need revision, rough and quick design, dont judge :)

Signed-off-by: haydar <haydar_issa@carleton.ca>