add Ninject Ioc, Repository and refactor codes