silly... fix tr() later