changing constructor order