update after specification refactoring