add functions w/ !