Final Commit?

Huge commit.

Fixed a lot of bugs, ported it a few times. Its good.

Signed-off-by: aaruni96 <aaruni.kaushik@gmail.com>