optional, override safe onclick