set up basic controller

quite messy, still needs to enforce tech level limits