maintain old prob
refactor
also refract