refactor entirely
remove comment