added helper method, threeview, and layout