change responsive, refactoring, opitimize