smore functions