more cleanup. More genericization