new functions and styles