progress towards making this generic