Good but dirty :/