Unit tested and made sure it works with variations too.