made the insert_author function to work with smaller functions, making
it simpler logic imho, but still I dislike it.
have not tested the code yet, then don't use !!!!!!