refactoring Author and getting somewhere