make it work
remove some (alas, not all) hardcoding