a load more tests !! needs some fine tuning but works