build and dist separated