client implementation improved, so much optimisations