added polynomial construction