move tests into subdirectory and split into multiple files