functional esms