Input Output functionality
Small changes here and there.