(squashed) added Run-length encoding