Add general interface and code tidy to make pass stylecop