updated version
maybe its helpful that way