Version 2: Refactor the specs