this is the possible spec factory