A major update including cleaning up.

Signed-off-by: Ignas Anikevicius (gns_ank) <anikevicius@gmail.com>