finished three. need to figure out how not to truncate doubles