update layout, fixed bugs, reimplement footer