propagated some refactoring from master
updated normal
merge resolution