Added some tests, more still need to be made and some need to be fixxed.