refactored experiment tools