some work on parameter + TODO refactoring