updates and tests