refactor / cleanup