done. todo: fix layout view