first perfect version