added alot of tests