refactor clasess and methods added comment
update