Removed generic dependency, added stuffs