just return hash, figure out error checking later