added functions and styles