added normal estimation