fully functional with style