partial
functions
refine