refactored controller using "controller as" and added shield types and tech range