Almost complete, need to look into database collisions