first pass at patch solution