remove garbage assignment
implement v2