optimalisations + operator optimalisations