some documentation, modified data storage, added error checking