implement clean solution