Added a shit ton of tests