more changes but not quite finished