piecing together old work from old busted repo, doesn't compile yet