clean/refactor