use hlist now & give a type signature for some controlspace functions