prefer type inference