Patched a bit

Changes

- Changed some data structures
- Elaborative comments
- Encapsulative data hiding
- Error handling in formatted file opening