added footer, migration, error message styling (incomplete)