Added normal calculation