use array to impl event