test updated extensively!