Everything now works perfectly only tests to finish