a ann based on spark