construct first