simple factory  ---  tavern