update to ADTs, will do tests now