#pre-calculation