taking latest changes from core project