Refactoring phase 1
try to further decouple the interactions and meds