Rearranged files. Separated tests.