improved tests, still unfinished