proper weigt initialization