further clean and testing