changed some stuff around to make it layout-focused and ensure minimum unused dependencies