Lots of changes

Made processing automated by removing user input
Added some more pre conditions
Changed DI to use Scaldi