rewrote fileio lib to use structs and methods. i also updated collections lib to fix bugs and be more consistent