this will probably read the file ~50 times ...