A new version. Opimisation. Naming.