users can now define own result handlers