functionality for several implemented