added client side Song constructor