New default implementation and some corrections