full functionality, without styling