Semi final changes

Lots of useful stuff added. Its almost working 100%