fuuuUUuuUuu not good
refractored somecode