Restructure a bit, add item builder