moved tests to subdirectories to improve project structure