moved normal calculation methods