implement new tests and improve enum tests