- refactored, need some braindump with nested parameters