Jala Overhaul Recommit

Rebased with master branch.