more function cleaning