input, movement, rendering hooked up component-wise