Restructure, create and implement more tests