Updated I/O  - Clarified comments and Optimized Shift functions

Still need to refactor the Subroutines