refactor: works as before
additional test