better type numbering