add IssueFactory and all issue implementation