need to work on snap