fix: code refactor