pre calculated