move tests into private module