compile for dist