this feels accurate enough