moving stuff around and tidying dependencies