added styles and base func