all three parts seem to work