refactor piece spec