optional snap building added