A lot many changes

Signed-off-by: alyakhtar <samurai.aly@gmail.com>