tables, better viewmodel functions, and conditional classes