Refactor and added new file