The code is now much cleaner andd we are not as strict with the mode string. Also add support for new 'e' and 'x' modifiers