updated with bootstrap and data structures