+ implementation of some funcions