cleaning refactor