seams to work, needs cleanup