adding preliminary, and almost certainly wrong, rumba support. This is just a skeleton, basically, and will most likely not even compile yet.