Added ability to read from file... sorta, also made it less readible