built things properly this time