ok this basically works now