adding ivy and logging
tidying up some documentation
removing unnecessary ivy dependencies
adding unit test capability