need to orgnize better

3 thing that are about the smae should be able to combine