refactor tower params system