avoid evaluation 2 times