front-end skeleton