new functions and a config