Out input pretty much complete