some basic SML stuff