dirty array fix + TODO