refactoring the whole project - fixing plugin dependencies & defects appeared while updates