Refactor code.
add missed files