Refactor spec and implement new steps