added better dictionary functionality