update author name.
refactor. extract complex conditions