added logic to interpolate, but it looks very fishy