layout implemented