big test
various optimisation and debug