start work on dynamic stuffs
updated per Ena's feedback
updated per Ena's feedback