changed some core classes and add a lot of search functionaly