refactor code
ignore .idea dir