use consistent types