completed main spec