some BS optimisation... blabla