refine programming paradigms