improved apon functions