note names coded but not tested