Small changes in the definitions of the types for better performance