finished the interfaces needed for the processing layer
added input system impl